import plotly.graph_objs as go
import plotly.express as px
import pandas as pd
Sociale media hebben een groot impact op de wereld achtergelaten, sinds het begin van de 21e eeuw is er een nieuwe manier van leven ontstaan: het digitale leven. Mensen van over de hele wereld kunnen nu in real time delen wat zij doen, en hoe hun leven eruitziet. Wat in eerste instantie een hele handige uitvinding bleek te zijn, brengt echter meerdere perspectieven met zich mee. Al snel bleek namelijk dat je niet per se alle kanten van je leven op sociale media hoeft te zetten. Het werd al snel een trend om voornamelijk de beste kanten te laten zien, en de mindere kanten van je leven privé te houden.
In ons onderzoek gaan we kijken naar de impact van deze sociale media op de mentale gezondheid onder jong volwassenen. De illusies die sociale media met zich meebrengt zouden namelijk een negatief zelfbeeld kunnen veroorzaken bij jong volwassenen. Wij waren benieuwd of er een correlatie te vinden viel tussen de mentale gezondheid en de opkomst van sociale media. Ondanks dat we misschien in eerste instantie een negatief beeld schetsen, zou het echter ook zomaar de andere kant op kunnen gaan.
Sociale media creeërde ook kansen op zowel sociaal- als werkgebied, nog nooit eerder konden jongeren zo snel met elkaar communiceren. Het zorgt voor kansen op zowel het gebied van liefde als vriendschap, en bracht een hele hoop nieuwe banen in de markt. Met behulp van slimme algoritmes kun je als creatieveling je werk aan miljoenen mensen laten zien, en dat helemaal gratis. Jong volwassenen kunnen ook veel gemakkelijker mensen vinden die dezelfde interesses delen, en hierdoor juist dat buitengesloten gevoel tegen gaan.
Kortom gezegd, er zijn meerdere perspectieven die in eerste instantie erg logisch lijken te zijn. Hierom zijn wij benieuwd wat de data te zeggen heeft.
Uitleg: Deze dataset (https://longreads.cbs.nl/jeugdmonitor-2022/welzijn-van-jongvolwassenen/) van het CBS (Centraal Bureau van Statistiek) gaat over het welzijn van jongeren, van 1997 tot 2021 is er onderzoek gedaan naar dit welzijn. Jongeren konden eerlijk aangeven of zij gelukkig of tevreden zijn met hun leven. De leeftijdsgroepen zijn opgesplitst in jongeren tussen 18-25, en mensen die boven de 18 zijn (algemene bevolking). De data is zowel in een lijngrafiek als tabelvorm weergegeven, waarbij je ook mogelijk de conclusie kan trekken dat bepaalde evenementen (bijvoorbeeld coronapandemie) een impact op de data hebben gehad.
gl = pd.read_csv('10-Copy1.1.1-geluk-en-tevredenheid.csv')
gl
trace1 = go.Scatter(x = gl['Category'],
y = gl['Tevredenheid, 18 jaar of ouder'],
mode = 'lines + markers',
name = 'Tevredenheid, 18 jaar of ouder',
marker = dict(color = 'lightblue'))
trace2 = go.Scatter(x = gl['Category'],
y = gl['Tevredenheid, 18 tot 25 jaar'],
mode = 'lines + markers',
name = 'Tevredenheid, 18 tot 25 jaar',
marker = dict(color = 'blue'))
trace3 = go.Scatter(x = gl['Category'],
y = gl['Geluk, 18 tot 25 jaar'],
mode = 'lines + markers',
name = 'Geluk, 18 tot 25 jaar',
marker = dict(color = 'green'))
trace4 = go.Scatter(x = gl['Category'],
y = gl['Geluk, 18 jaar of ouder'],
mode = 'lines + markers',
name = 'Geluk, 18 jaar of ouder',
marker = dict(color = 'lightgreen'))
Layout = go.Layout(title = 'Tevredenheid en geluk',
xaxis = dict(title = 'Jaren', gridcolor = 'lightgrey'),
yaxis = dict(title = 'Percentage mensen dat zich zo voelt', tickformat = ',.0%', range = [0.7, 1], gridcolor = 'lightgrey'),
font = dict(family = 'Georgia', color = 'Black'),
plot_bgcolor = 'white',
paper_bgcolor = 'white',
)
fig = go.Figure(data = [trace1, trace2, trace4, trace3], layout = Layout)
fig.update_layout(
xaxis=dict(
rangeselector=dict(
buttons=list([
dict(count=1,
label="1y",
step="year",
stepmode="backward"),
dict(count=5,
label="5y",
step="year",
stepmode="backward"),
dict(step="all")
])
),
rangeslider=dict(
visible=True
),
type="date"
)
)
fig.show()
Uitleg: De dataset (https://www.pewresearch.org/internet/fact-sheet/social-media/?tabId=tab-81867c91-92ad-45b8-a964-a2a894f873ef) van pewresearch die voor de visualizatie hieronder is gebruikt, laat per een aantal maanden het percentage van de bevolking van de Verenigde Staten zien die verschillende sociale media hebben gebruikt. Dit wordt aangegeven in percentages.
df = pd.read_csv('test-Copy1.csv')
df[df.columns[1:]] = df[df.columns[1:]].replace('%', '', regex=True).astype(float) / 100
df['Year'] = pd.to_datetime(df['Year'])
df_filtered = df.dropna()
df_filtered = df_filtered.sort_values(by='Year', ascending=False)
df
| Year | Snapchat | YouTube | TikTok | Nextdoor | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 2012-08-05 | 0.54 | 0.10 | 0.09 | 0.16 | 0.13 | NaN | NaN | NaN | NaN | NaN | NaN |
| 1 | 2012-08-07 | NaN | NaN | NaN | 0.14 | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
| 2 | 2012-12-09 | NaN | 0.13 | 0.11 | 0.13 | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
| 3 | 2012-12-16 | 0.57 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
| 4 | 2013-05-19 | NaN | NaN | NaN | 0.15 | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
| 5 | 2013-07-14 | NaN | NaN | NaN | 0.16 | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
| 6 | 2013-09-16 | 0.57 | 0.17 | 0.14 | 0.17 | 0.14 | NaN | NaN | NaN | NaN | NaN | NaN |
| 7 | 2013-09-30 | NaN | NaN | NaN | 0.16 | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
| 8 | 2014-01-26 | NaN | NaN | NaN | 0.16 | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
| 9 | 2014-09-21 | 0.58 | 0.22 | 0.21 | 0.23 | 0.19 | NaN | NaN | NaN | NaN | NaN | NaN |
| 10 | 2015-04-12 | 0.62 | 0.26 | 0.24 | 0.22 | 0.20 | NaN | NaN | NaN | NaN | NaN | NaN |
| 11 | 2016-04-04 | 0.68 | 0.26 | 0.28 | 0.25 | 0.21 | NaN | NaN | NaN | NaN | NaN | NaN |
| 12 | 2018-01-10 | 0.68 | 0.29 | 0.35 | 0.25 | 0.24 | 0.27 | 0.73 | 0.22 | NaN | NaN | NaN |
| 13 | 2019-02-07 | 0.69 | 0.28 | 0.37 | 0.27 | 0.22 | 0.24 | 0.73 | 0.20 | 0.11 | NaN | NaN |
| 14 | 2021-02-08 | 0.69 | 0.31 | 0.40 | 0.28 | 0.23 | 0.25 | 0.81 | 0.23 | 0.18 | 0.21 | 0.13 |
trace1 = go.Scatter(x = df['Year'],
y = df['Facebook'],
mode = 'lines + markers',
name = 'Facebook',
marker = dict(color = 'blue'),
connectgaps=True)
trace2 = go.Scatter(x = df['Year'],
y = df['Pinterest'],
mode = 'lines + markers',
name = 'Pinterest',
marker = dict(color = '#FF6F6F'),
connectgaps=True)
trace3 = go.Scatter(x = df['Year'],
y = df['Instagram'],
mode = 'lines + markers',
name = 'Instagram',
marker = dict(color = 'pink'),
connectgaps=True)
trace4 = go.Scatter(x = df['Year'],
y = df['LinkedIn'],
mode = 'lines + markers',
name = 'LinkedIn',
marker = dict(color = 'darkblue'),
connectgaps=True)
trace5 = go.Scatter(x = df['Year'],
y = df['Twitter'],
mode = 'lines + markers',
name = 'Twitter',
marker = dict(color = 'lightblue'),
connectgaps=True)
trace6 = go.Scatter(x = df['Year'],
y = df['Snapchat'],
mode = 'lines + markers',
name = 'Snapchat',
marker = dict(color = 'yellow'),
connectgaps=True)
trace7 = go.Scatter(x = df['Year'],
y = df['YouTube'],
mode = 'lines + markers',
name = 'YouTube',
marker = dict(color = 'red'),
connectgaps=True)
trace8 = go.Scatter(x = df['Year'],
y = df['WhatsApp'],
mode = 'lines + markers',
name = 'WhatsApp',
marker = dict(color = 'green'),
connectgaps=True)
trace9 = go.Scatter(x = df['Year'],
y = df['Reddit'],
mode = 'lines + markers',
name = 'Reddit',
marker = dict(color = 'orange'),
connectgaps=True)
trace10 = go.Scatter(x = df['Year'],
y = df['TikTok'],
mode = 'lines + markers',
name = 'TikTok',
marker = dict(color = 'black'),
connectgaps=True)
trace11 = go.Scatter(x = df['Year'],
y = df['Nextdoor'],
mode = 'lines + markers',
name = 'Nextdoor',
marker = dict(color = 'lightgreen'),
connectgaps=True)
new_Layout = go.Layout(title = 'Totaal gebruik verschillende sociale media door bevolking Verenigde Staten',
xaxis = dict(title = 'Jaartallen', tickmode='linear', dtick = 'M12', gridcolor = 'lightgray'),
yaxis = dict(title = 'Percentage gebruik sociale media', tickformat = ',.0%', range = [0, 1], gridcolor = 'lightgray'),
font = dict(family = 'Georgia', color = 'Black'),
plot_bgcolor = 'white',
paper_bgcolor = 'white')
new_fig = go.Figure(data = [trace1, trace2, trace3, trace4, trace5, trace6, trace7, trace8, trace9, trace10, trace11],
layout = new_Layout)
new_fig.show()
dc = pd.read_csv('social-Copy1.csv')
dc['Year'] = pd.to_datetime(dc['Year'])
dc
| Year | 18-29 | 30-49 | 50-64 | 65+ | |
|---|---|---|---|---|---|
| 0 | 2005-03-21 | 0.07 | 0.06 | 0.04 | 0.03 |
| 1 | 2005-12-08 | 0.16 | 0.09 | 0.05 | 0.02 |
| 2 | 2006-08-31 | 0.41 | 0.06 | 0.03 | 0.00 |
| 3 | 2008-05-11 | 0.60 | 0.21 | 0.07 | 0.02 |
| 4 | 2008-08-10 | 0.65 | 0.27 | 0.10 | 0.03 |
| 5 | 2008-08-31 | 0.68 | 0.27 | 0.09 | 0.02 |
| 6 | 2008-12-04 | 0.67 | 0.30 | 0.12 | 0.02 |
| 7 | 2008-12-20 | 0.59 | 0.28 | 0.08 | 0.03 |
| 8 | 2009-04-19 | 0.70 | 0.42 | 0.20 | 0.05 |
| 9 | 2009-09-14 | 0.67 | 0.44 | 0.21 | 0.06 |
| 10 | 2009-12-27 | 0.78 | 0.47 | 0.25 | 0.08 |
| 11 | 2010-01-19 | 0.76 | 0.51 | 0.26 | 0.07 |
| 12 | 2010-05-30 | 0.82 | 0.53 | 0.37 | 0.11 |
| 13 | 2010-09-13 | 0.80 | 0.52 | 0.31 | 0.09 |
| 14 | 2010-11-24 | 0.74 | 0.54 | 0.33 | 0.11 |
| 15 | 2010-11-28 | 0.78 | 0.54 | 0.33 | 0.14 |
| 16 | 2010-12-21 | 0.76 | 0.55 | 0.36 | 0.12 |
| 17 | 2011-05-22 | 0.79 | 0.61 | 0.38 | 0.14 |
| 18 | 2011-08-26 | 0.82 | 0.59 | 0.36 | 0.12 |
| 19 | 2012-02-19 | 0.81 | 0.64 | 0.39 | 0.16 |
| 20 | 2012-08-07 | 0.88 | 0.68 | 0.48 | 0.22 |
| 21 | 2013-05-19 | 0.87 | 0.72 | 0.50 | 0.24 |
| 22 | 2013-07-14 | 0.87 | 0.72 | 0.49 | 0.21 |
| 23 | 2013-09-30 | 0.89 | 0.74 | 0.54 | 0.27 |
| 24 | 2014-01-26 | 0.84 | 0.77 | 0.52 | 0.27 |
| 25 | 2015-07-12 | 0.90 | 0.77 | 0.51 | 0.35 |
| 26 | 2016-11-06 | 0.86 | 0.80 | 0.64 | 0.34 |
| 27 | 2018-01-10 | 0.88 | 0.78 | 0.64 | 0.37 |
| 28 | 2019-02-07 | 0.90 | 0.82 | 0.69 | 0.40 |
| 29 | 2021-02-08 | 0.84 | 0.81 | 0.73 | 0.45 |
trace1 = go.Scatter(x = dc['Year'],
y = dc['18-29'],
name = '18-29',
mode = 'lines + markers',
marker = dict(color = 'darkblue')
)
trace2 = go.Scatter(x = dc['Year'],
y = dc['30-49'],
name = '30-49',
mode = 'lines + markers',
marker = dict(color = 'mediumblue')
)
trace3 = go.Scatter(x = dc['Year'],
y = dc['50-64'],
name = '50-64',
mode = 'lines + markers',
marker = dict(color = 'blue')
)
trace4 = go.Scatter(x = dc['Year'],
y = dc['65+'],
name = '65+',
mode = 'lines + markers',
marker = dict(color = 'steelblue')
)
social_layout = go.Layout(title = 'Sociale media gebruik per leeftijdsgroep in de Verenigde Staten',
xaxis = dict(title = 'Jaren', gridcolor = 'lightgray'),
yaxis = dict(title = 'Percentage mensen', tickformat = ',.0%', range = [0, 1], gridcolor = 'lightgray'),
font = dict(family = 'Georgia', color = 'Black'),
plot_bgcolor = 'white',
paper_bgcolor = 'white'
)
social_figure = go.Figure(data = [trace1, trace2, trace3, trace4], layout = social_layout)
social_figure.show()
cr = pd.read_csv('correlatie-Copy1.csv')
cr_filtered = cr.dropna()
cr_filtered = cr_filtered.sort_values(by='Category', ascending=False)
cr
| Category | Geluk, 18 tot 25 jaar | 18-29 | |
|---|---|---|---|
| 0 | 1997 | 0.911 | NaN |
| 1 | 1998 | 0.909 | NaN |
| 2 | 1999 | 0.898 | NaN |
| 3 | 2000 | 0.908 | NaN |
| 4 | 2001 | 0.909 | NaN |
| 5 | 2002 | 0.887 | NaN |
| 6 | 2003 | 0.907 | NaN |
| 7 | 2004 | 0.906 | NaN |
| 8 | 2005 | 0.876 | 0.115 |
| 9 | 2006 | 0.905 | 0.410 |
| 10 | 2007 | 0.898 | NaN |
| 11 | 2008 | 0.914 | 0.638 |
| 12 | 2009 | 0.900 | 0.717 |
| 13 | 2010 | 0.888 | 0.777 |
| 14 | 2011 | 0.894 | 0.805 |
| 15 | 2012 | 0.904 | 0.845 |
| 16 | 2013 | 0.900 | 0.877 |
| 17 | 2014 | 0.896 | 0.840 |
| 18 | 2015 | 0.887 | 0.900 |
| 19 | 2016 | 0.885 | 0.860 |
| 20 | 2017 | 0.875 | NaN |
| 21 | 2018 | 0.858 | 0.880 |
| 22 | 2019 | 0.875 | 0.900 |
| 23 | 2020 | 0.838 | NaN |
| 24 | 2021 | 0.809 | 0.840 |
data = [
go.Bar(x = cr['Category'],
y = cr['18-29'],
name = 'Gebruik van sociale media door jongvolwassenen',
legendgroup = 'Gebruik van sociale media door jongvolwassenen',
marker = dict(color = '#147db1')
),
go.Bar(x = cr['Category'],
y = cr['Geluk, 18 tot 25 jaar'],
name = 'Geluk jongvolwassenen',
legendgroup = 'Geluk jongvolwassenen',
marker = dict(color = '#3a4f6d')
)
]
x_layout = go.Layout(title = 'Geluk vs sociale media gebruik van jongvolwassenen door de jaren heen',
xaxis = dict(title = 'Jaren',
gridcolor = 'lightgray'
),
yaxis = dict(title = 'Percentage mensen',
tickformat = ',.0%',
range = [0, 1],
gridcolor = 'lightgray'),
font = dict(family = 'Georgia',
color = 'Black'),
plot_bgcolor = 'white',
paper_bgcolor = 'white'
)
x_figure = go.Figure(data = data, layout = x_layout)
x_figure.update_layout(
xaxis=dict(
rangeselector=dict(
buttons=list([
dict(count=1,
label="1y",
step="year",
stepmode="backward"),
dict(count=5,
label="5y",
step="year",
stepmode="backward"),
dict(step="all")
])
),
rangeslider=dict(
visible=True
),
type="date"
)
)
x_figure.show()